package com.schoolcardinfo.dao;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

import com.schoolcardinfo.utils.LogUtil;



@SuppressWarnings("serial")
public class ReadPro extends Properties {
	private static ReadPro instance=null; //这是对外提供的一个对象实例

	//构造方法私有化，目标不允许用户new该对象，即不允许用户实例化该对象
	private ReadPro(){
		//读取配置文件db.properties
		//通过类的反射实例找到classpath路径下的资源文件db.properties，并以流的方式读取
		//InputStream is=this.getClass().getResourceAsStream("db.properties");
		InputStream is=ReadPro.class.getResourceAsStream("/db.properties");
		try {
			this.load(is);
		} catch (IOException e) {
			e.printStackTrace();
			LogUtil.log.error(e.toString()); //将错误信息写入日志文件
		} finally{
			if(is!=null){
				try {
					is.close();
				} catch (IOException e) {
					e.printStackTrace();
					LogUtil.log.error(e.toString()); //将错误信息写入日志文件
				}
			}
		}
	}


	public synchronized static ReadPro getInstance(){
		if(instance==null){ //说明该类还没有一个实例化对象
			instance=new ReadPro();
		} 
		//如果该类已经有实例化对象了，则返回这个实例化对象
		return instance;
	}
}
